package inge_soft.gestoriusNuevo.persistence.DAO.abstraction;

import inge_soft.gestoriusNuevo.persistence.DAO.Exceptions.Abstraction.GestoriusException;
import inge_soft.gestoriusNuevo.persistence.entity.implementation.Localidad;
import inge_soft.gestoriusNuevo.persistence.entity.implementation.Pais;
import inge_soft.gestoriusNuevo.persistence.entity.implementation.Provincia;

import java.util.List;

public interface ILocalidadDAO {
	
	public void crear(Localidad localidad) throws GestoriusException;
	
	public void modificar(Localidad localidad) throws GestoriusException;
	
	public void eliminar(Localidad localidad) throws GestoriusException;
	
	public List<Localidad > obtenerTodasLasLocalidadesDePaisOrdenadasPorNombreAscendente(Pais pais) throws GestoriusException;

	public List<Localidad> obtenerTodasLasLocalidadesDePaisQueCoincidaConCodigoPostalOrdenadasPorNombreAscendente(
			Pais pais, String codigoPostal);

	public List<Localidad> obtenerLasLocalidadesDePaisQueCoincidanConNombreOrdenadasPorNombreAscendente(
			Pais pais, String nombre);
	public List<Localidad> obtenerLocalidades(Provincia provincia) throws GestoriusException;
	
}
